oracle不停库搭建dg |
您所在的位置:网站首页 › delete obsolete archivelog all › oracle不停库搭建dg |
通过rman备份不关库做dg 假设主库db_unique_name=orcl 备库db_unique_name=orcl2 1.主库归档目录,以oracle用户建立[root@orcl ~]# su - oracle[oracle@orcl ~]$ cd /u01/oracle/oradata/orcl/arclog/[oracle@orcl ~]$ mkdir prmlog --主库时归档路径[oracle@orcl ~]$ mkdir stdlog --主库转换成备库时接收redo的路径 2.主库改为强制日志模式:[oracle@orcl ~]$ sqlplus / as sysdbaalter database force logging; 3.tnsnames中添加orcl、orcl2,并相互ping通tnsping orcltnsping orcl2 4.rman备份主库,利用当晚的rman备份即可,我的rman备份脚本如下:#!/bin/bashrman target / restore database;RMAN> recover database;RMAN> exit此时检查一下备库的redo文件是否存在 12.主备库添加redo文件alter database add standby logfile '/u01/oracle/oradata/orcl/std_redo01.log' size 50m;alter database add standby logfile '/u01/oracle/oradata/orcl/std_redo02.log' size 50m;alter database add standby logfile '/u01/oracle/oradata/orcl/std_redo03.log' size 50m;alter database add standby logfile '/u01/oracle/oradata/orcl/std_redo04.log' size 50m; 13.修改现主库参数alter system set db_unique_name=orcl scope=spfile;alter system set log_archive_config='dg_config=(orcl,orcl2)';alter system set log_archive_dest_1='location=/u01/oracle/oradata/orcl/arclog/prmlog/ valid_for=(online_logfiles,all_roles) db_unique_name=orcl';alter system set log_archive_dest_2='service=orcl2 lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=orcl2';alter system set log_archive_dest_3='location=/u01/oracle/oradata/orcl/arclog/stdlog/ valid_for=(standby_logfiles,standby_role) db_unique_name=orcl';alter system set log_archive_max_processes=6;alter system set fal_server=orcl2;alter system set fal_client=orcl;alter system set standby_file_management=auto; 14.查看主备库归档是否异常col dest_name for a30col error for a20select dest_name,status,error,target,process from v$archive_dest where rownum select protection_mode,database_role,protection_level from v$database; 5.检查主备数据库都要有standby联机日志:SQL> select group# from v$standby_log; 6.备库停止应用日志:alter database recover managed standby database cancel; 7.主备数据库都要启动数据库的闪回功能:SQL> select flashback_on from v$database;SQL> alter database flashback on;如果该sql执行失败,检查是否用的spfile启库,如果是备库已用spfile启库,需停止应用redo后再执行该sql。 8.加大闪回区:SQL> alter system set db_recovery_file_dest_size=50g;SQL> show parameter db_recovery_file_dest_sizeNAME TYPE VALUE------------------------------------ ----------- ------------------------------db_recovery_file_dest_size big integer 50G 9.主备数据库修改参数local_listener:主库SQL> alter system set local_listener='orcl'; --orcl为监听服务名备库SQL> alter system set local_listener='orcl2'; --orcl2为监听服务名 10.主备数据库都要启用broker:SQL> alter system set dg_broker_start=true; 11.查看主备库归档终目的地是否有异常:set lines 400col dest_name for a30 col error for a20select dest_name,status,target,archiver,error,process from v$archive_dest where rownum connect sys/******@orcl 2.创建中介配置:DGMGRL> create configuration 'orclBroker' as primary database is 'orcl' connect identifier is orcl; 3.在中介配置中添加备用数据库:DGMGRL> add database 'orcl2' as connect identifier is orcl2 maintained as physical; 4.查看verbose和快速切换状态:DGMGRL> show configuration verbose;DGMGRL> show fast_start failover 5.查看主备数据库的配置:DGMGRL> show database verbose orcl; -----orcl为主库唯一名DGMGRL> show database verbose orcl2; -----orcl2为备库唯一名确认主备数据库LogXptMode='async'(最大性能为async,最大可用为sync),不是则执行 :DGMGRL> edit database orcl2 set property LogXptMode = 'async'; -----这里假设orcl的LogXptMode='async' 6.启动broker配置:DGMGRL> enable configuration 可修改快速故障转移的延迟时间(默认为30秒,即主库30秒检测不到则切换主备库,但思科交换机插上网线的反应时间为35秒左右,此值应该加大,防止网线误碰时发生主备切换):DGMGRL> edit configuration set property FastStartFailoverThreshold=60; 延迟时间改为1分钟。 7.启动快速故障转移:DGMGRL> enable fast_start failover 8.启动Observer监视器:DGMGRL> start observer启动之后,该前台进程不会退出,会一直挂在这。 直到从其他窗口关闭! 9.在备库新建窗口再启动一个dgmgrl,查看快速转移配置是否成功:DGMGRL> connect sys/******@orcl2DGMGRL> show configuration verbose;DGMGRL> show fast_start failoverDGMGRL> show database verbose orcl;DGMGRL> show database verbose orcl2; 10.在主库上检查是否可以切换到备库:SQL> select fs_failover_observer_present,fs_failover_observer_host,fs_failover_threshold from v$database; |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |